#include <stdexcept>

class MyList
{
private:
    int *arr;             // 存储列表元素
    int arrCapacity = 10; // 列表容量
    int arrSize = 0;      // 列表长度
    int extendRatio = 2;  // 每次列表扩容的倍数
public:
    MyList() { arr = new int[arrCapacity]; }

    ~MyList() { delete[] arr; }

    int size() { return arrSize; }
    int capacity() { return arrCapacity; }

    int get(int index)
    {
        if (index < 0 || index >= arrSize)
            throw std::out_of_range("索引越界!");

        return arr[index];
    }

    void set(int index, int num)
    {
        if (index < 0 || index >= arrSize)
            throw std::out_of_range("索引越界!");

        arr[index] = num;
    }
};